The present application relates to computing and more specifically to software and accompanying systems and methods for configuring and using groups or sets of database transactions or computer processing functions or tasks.
Software for facilitating construction and use of groups of software functionality, including database transactions, User Interface (UI) display screen components, and so on, are employed in various demanding applications, including web applications for generating composite UI display screens using input from multiple different web services; software installation wizards for installing multi-component software applications; cloud-based or networked enterprise applications involving coordinating implementation of database transactions and associated database updates; software development environments for networked enterprise applications and related concurrent computing applications, and so on.
Such applications often demand efficient, cost-effective, reliable, and user friendly mechanisms for facilitating adjusting software, e.g., UI, and/or database components, where the adjustments do not interfere with other components. Such applications may further demand efficient mechanisms for reducing software upgrade costs while minimizing interference between upgraded components and existing components.
Efficient systems and methods for facilitating configuration and use of selected groups of software components or transactions can be particularly important in networked enterprise applications, e.g., cloud-based software, which may leverage many disparate or distributed network resources (e.g., web services, APIs, databases, and so on). Such components may include end-user software customizations, custom UI display screen features, vendor-provided components, and so on. Such enterprise applications must often be readily adaptable and configurable to meet rapid changes in business needs.
To facilitate construction of software components and/or groups of customized components (often called transactions and/or compound transactions, respectively) configurable activity guides, wizards, or other self-guided processes are often employed. A collection of steps (associated with transactions and UI display screen components) of an activity guide may represent a self-guided process or compound transaction.
The activity guides may be developed to perform a group of transactions, where each transaction is associated with a UI display screen page, tab, or other UI display screen section or component. The activity guides may enable ordering of the activities or transactions. Components (also called sub-transactions) of a larger transaction (also called a compound transaction or group or collection of transactions herein) are linked together or otherwise grouped as steps, where the individual steps may or may not be interdependent. Individual steps are independent if their completion or processing does not depend upon completion or processing of one or more other steps in the collection of transactions.
However, conventionally, mechanisms for facilitating construction, implementation, and use of activity guides has been problematic. For example, when a particular step of an activity guide fails, other dependent steps may also fail, even if such dependent steps may otherwise be useful when operating independently.
Furthermore, incorporation of a component transaction (i.e., sub-transaction) of an activity guide may require costly customization or modification of each component so as to enable efficient operation as part of the activity guide. Furthermore, inclusion of a component within a particular activity guide may sometimes require exclusion of use of that component by other network resources, e.g., software applications. In addition, developers and end users often experience problems when attempting to adjust the behavior of activity guides to properly react to the failure of a dependent step of the activity guide.
Conventionally, all steps of an activity guide or compound transaction are completed in a particular sequence, and the user is prevented from transitioning to a subsequent step until a previous step is completed. However, this may prevent completion of certain steps, the completion of which may otherwise be useful, despite whether the other steps of the group of steps have been completed. This can result in data and software maintenance problems.
Overcoming this issue may require customization and configuration of existing activity guides by adding custom code (e.g., JavaScript) to add new UI display screen controls and functionality for each step, so as to enable different types of save or commit operations to be assigned to the different UI display screen controls. However, such manual customization may be prohibitively costly.